package com.cnc.ssm.model;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;

import java.io.Serializable;

/**
 * @author Hibernate CodeGenerator
 */
public class PwEmployee implements Serializable {

    /**
     * identifier field
     */
    private String emplCode;

    /**
     * persistent field
     */
    private String emplName;

    /**
     * nullable persistent field
     */
    private String emplType;

    /**
     * nullable persistent field
     */
    private String superEmplCode;

    /**
     * nullable persistent field
     */
    private String grade;

    /**
     * nullable persistent field
     */
    private String position;

    /**
     * nullable persistent field
     */
    private String instCode;

    /**
     * nullable persistent field
     */
    private String instName;

    /**
     * nullable persistent field
     */
    private String education;

    /**
     * nullable persistent field
     */
    private String sex;

    /**
     * nullable persistent field
     */
    private java.util.Date birthday;

    /**
     * nullable persistent field
     */
    private java.util.Date workDate;

    /**
     * nullable persistent field
     */
    private java.util.Date officeDate;

    /**
     * nullable persistent field
     */
    private String addr;

    /**
     * nullable persistent field
     */
    private String post;

    /**
     * nullable persistent field
     */
    private String tel;

    /**
     * nullable persistent field
     */
    private String mobile;

    /**
     * nullable persistent field
     */
    private String email;

    /**
     * nullable persistent field
     */
    private String remark;

    /**
     * full constructor
     */
    public PwEmployee(java.lang.String emplCode, java.lang.String emplName, java.lang.String emplType, java.lang.String superEmplCode, java.lang.String grade, java.lang.String position, java.lang.String instCode, java.lang.String instName, java.lang.String education, java.lang.String sex, java.util.Date birthday, java.util.Date workDate, java.util.Date officeDate, java.lang.String addr, java.lang.String post, java.lang.String tel, java.lang.String mobile, java.lang.String email, java.lang.String remark) {
        this.emplCode = emplCode;
        this.emplName = emplName;
        this.emplType = emplType;
        this.superEmplCode = superEmplCode;
        this.grade = grade;
        this.position = position;
        this.instCode = instCode;
        this.instName = instName;
        this.education = education;
        this.sex = sex;
        this.birthday = birthday;
        this.workDate = workDate;
        this.officeDate = officeDate;
        this.addr = addr;
        this.post = post;
        this.tel = tel;
        this.mobile = mobile;
        this.email = email;
        this.remark = remark;
    }

    /**
     * default constructor
     */
    public PwEmployee() {
    }

    /**
     * minimal constructor
     */
    public PwEmployee(java.lang.String emplCode, java.lang.String emplName) {
        this.emplCode = emplCode;
        this.emplName = emplName;
    }

    public java.lang.String getEmplCode() {
        return this.emplCode;
    }

    public void setEmplCode(java.lang.String emplCode) {
        this.emplCode = emplCode;
    }

    public java.lang.String getEmplName() {
        return this.emplName;
    }

    public void setEmplName(java.lang.String emplName) {
        this.emplName = emplName;
    }

    public java.lang.String getEmplType() {
        return this.emplType;
    }

    public void setEmplType(java.lang.String emplType) {
        this.emplType = emplType;
    }

    public java.lang.String getSuperEmplCode() {
        return this.superEmplCode;
    }

    public void setSuperEmplCode(java.lang.String superEmplCode) {
        this.superEmplCode = superEmplCode;
    }

    public java.lang.String getGrade() {
        return this.grade;
    }

    public void setGrade(java.lang.String grade) {
        this.grade = grade;
    }

    public java.lang.String getPosition() {
        return this.position;
    }

    public void setPosition(java.lang.String position) {
        this.position = position;
    }

    public java.lang.String getInstCode() {
        return this.instCode;
    }

    public void setInstCode(java.lang.String instCode) {
        this.instCode = instCode;
    }

    public java.lang.String getInstName() {
        return this.instName;
    }

    public void setInstName(java.lang.String instName) {
        this.instName = instName;
    }

    public java.lang.String getEducation() {
        return this.education;
    }

    public void setEducation(java.lang.String education) {
        this.education = education;
    }

    public java.lang.String getSex() {
        return this.sex;
    }

    public void setSex(java.lang.String sex) {
        this.sex = sex;
    }

    public java.util.Date getBirthday() {
        return this.birthday;
    }

    public void setBirthday(java.util.Date birthday) {
        this.birthday = birthday;
    }

    public java.util.Date getWorkDate() {
        return this.workDate;
    }

    public void setWorkDate(java.util.Date workDate) {
        this.workDate = workDate;
    }

    public java.util.Date getOfficeDate() {
        return this.officeDate;
    }

    public void setOfficeDate(java.util.Date officeDate) {
        this.officeDate = officeDate;
    }

    public java.lang.String getAddr() {
        return this.addr;
    }

    public void setAddr(java.lang.String addr) {
        this.addr = addr;
    }

    public java.lang.String getPost() {
        return this.post;
    }

    public void setPost(java.lang.String post) {
        this.post = post;
    }

    public java.lang.String getTel() {
        return this.tel;
    }

    public void setTel(java.lang.String tel) {
        this.tel = tel;
    }

    public java.lang.String getMobile() {
        return this.mobile;
    }

    public void setMobile(java.lang.String mobile) {
        this.mobile = mobile;
    }

    public java.lang.String getEmail() {
        return this.email;
    }

    public void setEmail(java.lang.String email) {
        this.email = email;
    }

    public java.lang.String getRemark() {
        return this.remark;
    }

    public void setRemark(java.lang.String remark) {
        this.remark = remark;
    }

    public String toString() {
        return new ToStringBuilder(this)
                .append("emplCode", getEmplCode())
                .toString();
    }

    public boolean equals(Object other) {
        if (!(other instanceof PwEmployee)) return false;
        PwEmployee castOther = (PwEmployee) other;
        return new EqualsBuilder()
                .append(this.getEmplCode(), castOther.getEmplCode())
                .isEquals();
    }

    public int hashCode() {
        return new HashCodeBuilder()
                .append(getEmplCode())
                .toHashCode();
    }

}
